home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / idl.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  5KB  |  159 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <!-- IDL mode, by Slava Pestov
  6.      based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->
  7. <MODE>
  8.     <PROPS>
  9.         <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
  10.         <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
  11.         <PROPERTY NAME="commentStart" VALUE="/*" />
  12.         <PROPERTY NAME="commentEnd" VALUE="*/" />
  13.         <PROPERTY NAME="boxComment" VALUE="*" />
  14.         <PROPERTY NAME="lineComment" VALUE="//" />
  15.     </PROPS>
  16.     <RULES IGNORE_CASE="FALSE">
  17.         <EOL_SPAN TYPE="KEYWORD2"
  18.                   AT_WHITESPACE_END="TRUE"
  19.                   DELEGATE="PREPROCESSOR">#</EOL_SPAN>
  20.         <IMPORT DELEGATE="LEX" />
  21.     </RULES>
  22.  
  23.     <RULES SET="LEX" IGNORE_CASE="FALSE">
  24.  
  25.         <IMPORT DELEGATE="c::COMMENTS" />
  26.  
  27.         <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
  28.             <BEGIN>"</BEGIN>
  29.             <END>"</END>
  30.         </SPAN>
  31.         <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
  32.             <BEGIN>'</BEGIN>
  33.             <END>'</END>
  34.         </SPAN>
  35.  
  36.         <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
  37.  
  38.         <!-- some of these should be marked OPERATOR -->
  39.         <!--
  40.         <SEQ TYPE="NULL">!</SEQ>
  41.         <SEQ TYPE="NULL">>=</SEQ>
  42.         <SEQ TYPE="NULL"><=</SEQ>
  43.         <SEQ TYPE="NULL">+</SEQ>
  44.         <SEQ TYPE="NULL">-</SEQ>
  45.         <SEQ TYPE="NULL">/</SEQ>
  46.         <SEQ TYPE="NULL">*</SEQ>
  47.         <SEQ TYPE="NULL">%</SEQ>
  48.         <SEQ TYPE="NULL">&</SEQ>
  49.         <SEQ TYPE="NULL">|</SEQ>
  50.         <SEQ TYPE="NULL">^</SEQ>
  51.         <SEQ TYPE="NULL">~</SEQ>
  52.         <SEQ TYPE="NULL">.</SEQ>
  53.         <SEQ TYPE="NULL">,</SEQ>
  54.         <SEQ TYPE="NULL">;</SEQ>
  55.         <SEQ TYPE="NULL">]</SEQ>
  56.         <SEQ TYPE="NULL">[</SEQ>
  57.         <SEQ TYPE="NULL">?</SEQ> -->
  58.  
  59.         <SEQ TYPE="OPERATOR">}</SEQ>
  60.         <SEQ TYPE="OPERATOR">{</SEQ>
  61.         <SEQ TYPE="OPERATOR">:</SEQ>
  62.         <SEQ TYPE="OPERATOR">></SEQ>
  63.         <SEQ TYPE="OPERATOR"><</SEQ>
  64.         <SEQ TYPE="OPERATOR">=</SEQ>
  65.  
  66.  
  67.         <!-- Function calls -->
  68.         <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
  69.         <SEQ TYPE="OPERATOR">)</SEQ>
  70.  
  71.         <KEYWORDS>
  72.             <KEYWORD3>any</KEYWORD3>
  73.             <KEYWORD1>attribute</KEYWORD1>
  74.             <KEYWORD3>boolean</KEYWORD3>
  75.             <KEYWORD1>case</KEYWORD1>
  76.             <KEYWORD3>char</KEYWORD3>
  77.             <KEYWORD1>const</KEYWORD1>
  78.             <KEYWORD1>context</KEYWORD1>
  79.             <KEYWORD1>default</KEYWORD1>
  80.             <KEYWORD3>double</KEYWORD3>
  81.             <KEYWORD3>enum</KEYWORD3>
  82.             <KEYWORD1>exception</KEYWORD1>
  83.             <LITERAL2>FALSE</LITERAL2>
  84.             <KEYWORD1>fixed</KEYWORD1>
  85.             <KEYWORD3>float</KEYWORD3>
  86.             <KEYWORD1>in</KEYWORD1>
  87.             <KEYWORD1>inout</KEYWORD1>
  88.             <KEYWORD1>interface</KEYWORD1>
  89.             <KEYWORD3>long</KEYWORD3>
  90.             <KEYWORD1>module</KEYWORD1>
  91.             <KEYWORD3>Object</KEYWORD3>
  92.             <KEYWORD3>octet</KEYWORD3>
  93.             <KEYWORD1>oneway</KEYWORD1>
  94.             <KEYWORD1>out</KEYWORD1>
  95.             <KEYWORD1>raises</KEYWORD1>
  96.             <KEYWORD1>readonly</KEYWORD1>
  97.             <KEYWORD3>sequence</KEYWORD3>
  98.             <KEYWORD3>short</KEYWORD3>
  99.             <KEYWORD3>string</KEYWORD3>
  100.             <KEYWORD3>struct</KEYWORD3>
  101.             <KEYWORD1>switch</KEYWORD1>
  102.             <LITERAL2>TRUE</LITERAL2>
  103.             <KEYWORD3>typedef</KEYWORD3>
  104.             <KEYWORD3>unsigned</KEYWORD3>
  105.             <KEYWORD3>union</KEYWORD3>
  106.             <KEYWORD3>void</KEYWORD3>
  107.             <KEYWORD3>wchar</KEYWORD3>
  108.             <KEYWORD3>wstring</KEYWORD3>
  109.         </KEYWORDS>
  110.     </RULES>
  111.  
  112.     <!-- Preprocessor specific rules. This is borrowed from the C mode,
  113.          since the IDL spec says the preprocessor is compatible with the
  114.          C++ standard. -->
  115.     <RULES SET="PREPROCESSOR"
  116.         IGNORE_CASE="FALSE"
  117.         HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
  118.  
  119.         <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="INCLUDE">include\b</EOL_SPAN_REGEXP>
  120.         <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>
  121.         <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="LEX">endif\b</EOL_SPAN_REGEXP>
  122.         <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>
  123.         <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>
  124.  
  125.         <IMPORT DELEGATE="LEX"/>
  126.  
  127.         <!-- Directives -->
  128.         <KEYWORDS>
  129.             <MARKUP>ifdef</MARKUP>
  130.             <MARKUP>ifndef</MARKUP>
  131.             <MARKUP>else</MARKUP>
  132.             <MARKUP>undef</MARKUP>
  133.             <MARKUP>warning</MARKUP>
  134.         </KEYWORDS>
  135.     </RULES>
  136.  
  137.     <RULES SET="INCLUDE"
  138.         IGNORE_CASE="FALSE"
  139.         HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
  140.         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  141.             <BEGIN><</BEGIN>
  142.             <END>></END>
  143.         </SPAN>
  144.         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  145.             <BEGIN>"</BEGIN>
  146.             <END>"</END>
  147.         </SPAN>
  148.         <IMPORT DELEGATE="LEX"/>
  149.     </RULES>
  150.  
  151.     <RULES SET="DEFINE"
  152.         IGNORE_CASE="FALSE"
  153.         HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
  154.         <SEQ TYPE="OPERATOR">#</SEQ>
  155.         <IMPORT DELEGATE="LEX"/>
  156.     </RULES>
  157.  
  158. </MODE>
  159.